<?php
/**
 * Created by PhpStorm.
 * User: yancheng<cheng@love.xiaoyan.me>
 * Date: 2019/3/2
 * Time: 12:46 PM
 */

/**
 * 获取所有用户数据
 * 格式为 <pre>
 * [
 *     'username'=>[
 *          'pass'=>'xxxx','nick'=>'xxx','head'=>'xxx','create'=>'xxxx','update'=>'xxxx'
 *      ]
 * ]
 * </pre>
 * @return array
 */
function get_all_users()
{
    return json_decode(file_get_contents(USER_DATA_PATH), true);
}

/**
 * 创建用户数据
 * @param $username
 * @param $password
 * @return bool|int
 */
function create_user_data($username, $password)
{
    $all = get_all_users();
    $all[$username] = [
        'pass' => $password,
        'create' => time(), // 当前时间戳
        'update' => time(),
        //下列数据暂时为默认值
        'nick' => '无名氏', 'head' => 'imgs/default.png'
    ];
    //将数据重新写入到文件
    return file_put_contents(USER_DATA_PATH, json_encode($all));
}

/**
 * 更新单个用户数据
 * @param $username
 * @param $user_data
 * @return bool|int
 */
function update_user_data($username, $user_data)
{
    $all = get_all_users();
    if (!isset($all[$username])) {
        return false;
    }
    //将原来的数据和要更新的数据进行合并
    $all[$username] = array_merge($all[$username], $user_data);
    //将数据重新写入到文件
    return file_put_contents(USER_DATA_PATH, json_encode($all));
}

function is_ajax_request()
{
    return isset($_SERVER["HTTP_X_REQUESTED_WITH"])
        && strtolower($_SERVER["HTTP_X_REQUESTED_WITH"]) == "xmlhttprequest";
}

/**
 * 获取当前登录用户信息，如果没有登录则返回null
 * @return mixed|null
 */
function get_current_login_user(){
    if(isset($_SESSION[USER_DATA_KEY]) && $_SESSION[USER_DATA_KEY]){
        $login_user = $_SESSION[USER_DATA_KEY];
        $all_user = get_all_users();
        $user_data = $all_user[$login_user];
        $user_data['username'] = $login_user;
        return $user_data;
    }
    return null;
}